Lars Ingebrigtsen [Wed, 20 Jan 2021 17:52:17 +0000 (18:52 +0100)]
cua-toggle-global-mark doc string clarification
* lisp/emulation/cua-gmrk.el (cua-toggle-global-mark): Clarify
that also inserted characters are affected (bug#8083).
Michael Albinus [Wed, 20 Jan 2021 17:51:52 +0000 (18:51 +0100)]
Fix environment handling in tramp-handle-make-process
* lisp/net/tramp.el (tramp-test-message): Add `tramp-suppress-trace' property.
(tramp-handle-make-process): Handle also 'tramp-remote-process-environment'.
Gabriel do Nascimento Ribeiro [Wed, 20 Jan 2021 16:54:43 +0000 (17:54 +0100)]
Respect remember-save-after-remembering on remember-diary-extract-entries
* lisp/textmodes/remember.el (remember-diary-extract-entries):
Save automatically if `remember-save-after-remembering' is non-nil
(bug#45811).
Gabriel do Nascimento Ribeiro [Wed, 20 Jan 2021 16:53:04 +0000 (17:53 +0100)]
Add option remember-text-format-function
* lisp/textmodes/remember.el (remember-text-format-function): New
variable (bug#45809).
(remember-append-to-file): Use it.
Gabriel do Nascimento Ribeiro [Wed, 20 Jan 2021 16:45:08 +0000 (17:45 +0100)]
Add option remember-diary-regexp
* lisp/textmodes/remember.el (remember-diary-extract-entries): Use
it (bug#45808).
(remember-diary-regexp): New variable.
Lars Ingebrigtsen [Wed, 20 Jan 2021 16:25:40 +0000 (17:25 +0100)]
Tweak tty-find-type to allow TERM=screen.xterm
* lisp/faces.el (tty-find-type): Allow TERM=screen.xterm to find
term/screen.el (bug#45824).
Lars Ingebrigtsen [Wed, 20 Jan 2021 15:58:09 +0000 (16:58 +0100)]
Make symbol-at-point return nil if there's no symbols in the buffer
* lisp/thingatpt.el (thing-at-point--beginning-of-symbol): Special
op that errors out when there's no symbols in the buffer before
point (bug#14234).
(symbol): Use it.
Lars Ingebrigtsen [Wed, 20 Jan 2021 15:47:39 +0000 (16:47 +0100)]
Add tests for symbol-at-point (bug#14234)
Stefan Monnier [Wed, 20 Jan 2021 14:52:07 +0000 (09:52 -0500)]
Don't let `maybe_quit` prevent resetting `consing_until_gc` (bug#43389)
* src/alloc.c (garbage_collect): Postpone `unblock_input` a bit.
* src/window.c (window_parameter): Avoid `maybe_quit`.
Fabrice Bauzac [Mon, 18 Jan 2021 22:02:21 +0000 (23:02 +0100)]
Sort Ibuffer filename/process column as displayed
* lisp/ibuf-ext.el (ibuffer-do-sort-by-filename/process): Use the
same function for sorting and for displaying the
filename/process (Bug#45800).
Copyright-paperwork-exempt: yes
Lars Ingebrigtsen [Wed, 20 Jan 2021 04:44:16 +0000 (05:44 +0100)]
Revert "Make `symbol-at-point' work in buffers with no symbols"
This reverts commit
40a5df81434ce02fba01779256b50976fb74da4f.
This fails when a point is after a symbol, and there's
nothing else in the buffer.
Lars Ingebrigtsen [Wed, 20 Jan 2021 04:08:56 +0000 (05:08 +0100)]
Don't add Content-Type when ceasing an rmail edit
* lisp/mail/rmailedit.el (rmail-cease-edit): Take an optional
parameter to avoid altering the message (bug#13327).
(rmail-abort-edit): Use it.
Lars Ingebrigtsen [Wed, 20 Jan 2021 03:44:18 +0000 (04:44 +0100)]
Make `symbol-at-point' work in buffers with no symbols
* lisp/thingatpt.el (thing-at-point--end-of-symbol): New function
(bug#14234).
(symbol): Use it instead of `forward-symbol', because the latter
will move to the end of the buffer even if there is no symbol
there. Instead error out like `forward-sexp' and friends.
Lars Ingebrigtsen [Wed, 20 Jan 2021 03:17:41 +0000 (04:17 +0100)]
Fix up example in the Modifying Menus node in the lispref manual
* doc/lispref/keymaps.texi (Modifying Menus): Make the second
example more regular (bug#14257).
Lars Ingebrigtsen [Wed, 20 Jan 2021 02:54:18 +0000 (03:54 +0100)]
Mention that the mouse will switch on transient-mark-mode in manual
* doc/lispref/markers.texi (The Mark): Mention that the mouse will
enable the `(only)' transient mark mode (bug#14945).
Lars Ingebrigtsen [Wed, 20 Jan 2021 02:25:46 +0000 (03:25 +0100)]
Make sh-mode use `auto-mode-interpreter-regexp'
* lisp/progmodes/sh-script.el (sh-mode): Use
`auto-mode-interpreter-regexp' instead of open-coding the value
(bug#17158).
Nick Drozd [Wed, 20 Jan 2021 01:46:17 +0000 (02:46 +0100)]
test/lisp/replace-tests.el: Add nested match group test
* test/lisp/replace-tests.el (replace-regexp-bug45973): Add test
(bug#45973).
Philipp Stephani [Tue, 19 Jan 2021 20:35:06 +0000 (21:35 +0100)]
Make child signal read pipe non-blocking.
Otherwise Emacs might hang when trying to read the pipe twice in a
row. This is consistent with the other file descriptors we pass to
'pselect'.
* src/process.c (child_signal_init): Make read end of pipe
non-blocking.
Dmitry Gutov [Tue, 19 Jan 2021 19:50:11 +0000 (21:50 +0200)]
Declare some project commands interactive-only
* lisp/progmodes/project.el (project-async-shell-command)
(project-shell-command, project-compile):
Declare interactive-only (bug#45765).
Juri Linkov [Tue, 19 Jan 2021 18:27:29 +0000 (20:27 +0200)]
* lisp/help-fns.el: Move defvar keymap-name-history closer to where it's used.
Juri Linkov [Tue, 19 Jan 2021 18:12:47 +0000 (20:12 +0200)]
Better check for nil in search-/query-replace-highlight-submatches (bug#45973)
* lisp/isearch.el (isearch-highlight):
* lisp/replace.el (replace-highlight):
Use integer-or-marker-p to check matches.
Ted Zlatanov [Tue, 19 Jan 2021 13:35:07 +0000 (13:35 +0000)]
* test/infra/gitlab-ci.yml: Bootstrap only from web, schedule, or C-related.
Mattias Engdegård [Sat, 16 Jan 2021 16:30:57 +0000 (17:30 +0100)]
Calc: use Unicode brackets in Big mode when available (bug#45917)
* lisp/calc/calccomp.el (math--big-bracket-alist)
(math--big-bracket, math--comp-bracket, math--comp-round-bracket):
New.
(math-compose-expr, math-compose-log, math-compose-log10)
(math-compose-choose, math-compose-integ, math-compose-sum)
(math-compose-prod): Use big brackets when available.
Stefan Monnier [Tue, 19 Jan 2021 17:53:42 +0000 (12:53 -0500)]
* etc/NEWS.19: Add entry for `indent-line-to`
* lisp/version.el (emacs-major-version, emacs-minor-version):
Remove redundant version info already displayed by `C-h o`.
Michael Albinus [Tue, 19 Jan 2021 17:45:55 +0000 (18:45 +0100)]
Some Tramp fixes, resulting from test campaign
* doc/misc/tramp.texi (Remote shell setup): Clarifications for
`tramp-actions-before-shell' example.
* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Do not expand
FILENAME explicitely.
(tramp-open-shell): Add "-i" for interactive shells.
* test/lisp/net/tramp-tests.el (tramp-test07-file-exists-p)
(tramp-test14-delete-directory)
(tramp-test43-asynchronous-requests): Skip for MS windows.
Stefan Monnier [Tue, 19 Jan 2021 17:10:48 +0000 (12:10 -0500)]
* lisp/startup.el: Fix bug#45857, bug#30994, and bug#45913.
(command-line): Don't re-evaluate the `custom-delayed-init-variables`
a second time after reading the `early-init.el` file.
(x-apply-session-resources): Set `blink-cursor-mode` rather than
`no-blinking-cursor`.
* lisp/frame.el (blink-cursor-start): Turn `blink-cursor-mode` off
if `blink-cursor-mode` was set to nil.
(blink-cursor-mode): Default to it being enabled regardless of
`window-system`.
* lisp/custom.el (custom-initialize-delay): Fox docstring now that
autoload.el preserves the `:initialize` info.
Lars Ingebrigtsen [Tue, 19 Jan 2021 16:26:01 +0000 (17:26 +0100)]
Only show "2x entries" i vc log buffers if needed
* lisp/vc/vc.el (vc-print-log-setup-buttons): Only show the "more"
buttons if we got more or equal to the number of entries we asked
for (bug#18959).
Mattias Engdegård [Tue, 19 Jan 2021 10:55:13 +0000 (11:55 +0100)]
Parse square root sign in embedded Calc mode
* lisp/calc/calc-lang.el (math-read-big-rec): Recognise √ since it may
be used in Big mode.
Mattias Engdegård [Tue, 19 Jan 2021 10:43:25 +0000 (11:43 +0100)]
Missing dynamic variable declarations in Calc
* lisp/calc/calc-embed.el (calc-embedded-set-modes): Prevent
the-language and the-display-just from being lexically bound here,
because they may be assigned using 'set'.
Lars Ingebrigtsen [Tue, 19 Jan 2021 15:07:54 +0000 (16:07 +0100)]
Fix slow abbrev expansion in `message-mode' in some circumstances
* lisp/gnus/message.el (message--syntax-propertize): Use the
correct Message mode syntax table to avoid having
`message-cite-prefix-regexp' trigger very heavy backtracing when
called from an abbrev context (which defines "_" as a word
constituent) (bug#45944).
Lars Ingebrigtsen [Tue, 19 Jan 2021 14:54:40 +0000 (15:54 +0100)]
Don't stop Gnus startup on password failures
* lisp/gnus/nntp.el (nntp-send-authinfo): Don't signal an
`nntp-authinfo-rejected' error, because that will stop Gnus
startup (bug#45855). Instead signal an error that will be caught
higher up.
Michael Albinus [Tue, 19 Jan 2021 13:12:22 +0000 (14:12 +0100)]
Handle also test/lib-src directory
* test/Makefile.in (SUBDIRS): Add lib-src.
* test/README: Add predefined selectors.
* test/file-organization.org: Mention test/lib-src directory.
Mauro Aranda [Tue, 19 Jan 2021 12:25:00 +0000 (09:25 -0300)]
Fix list-colors-print handling of callback arg
* lisp/facemenu.el (list-colors-print): Keeping
backward-compatibility, don't fail when passed a closure object as
CALLBACK. (Bug#45831)
Mauro Aranda [Tue, 19 Jan 2021 12:11:37 +0000 (09:11 -0300)]
Add test for the widget-color-match function (Bug#45829)
* test/lisp/wid-edit-tests.el (widget-test-color-match): New test.
Drew Adams [Tue, 19 Jan 2021 12:11:18 +0000 (09:11 -0300)]
Tweaks to the color widget (Bug#45829)
* lisp/wid-edit.el (widget-color-match, widget-color-validate): New
functions.
(color): Use the new functions. Base size on longest defined color
name, defaulting to the longest RGB hex string.
Protesilaos Stavrou [Tue, 19 Jan 2021 07:11:39 +0000 (08:11 +0100)]
Add 'perl-non-scalar-variable' face to perl-mode
* etc/NEWS: Document the new face (bug#45840).
* lisp/progmodes/perl-mode.el (perl-non-scalar-variable): Define new
face.
(perl-font-lock-keywords-2): Apply 'perl-non-scalar-variable' face.
James N. V. Cash [Tue, 19 Jan 2021 06:07:37 +0000 (07:07 +0100)]
Define keymap-name-history
* lisp/help-fns.el (keymap-name-history): Define the history
variable (bug#45879). This avoids problems in other completing
systems like Helm.
Copyright-paperwork-exempt: yes
Lars Ingebrigtsen [Tue, 19 Jan 2021 05:05:53 +0000 (06:05 +0100)]
Actually make the calc trail window dedicated
* lisp/calc/calc.el (calc-trail-display): Actually make the trail
window dedicated (bug#45928).
Lars Ingebrigtsen [Tue, 19 Jan 2021 04:13:03 +0000 (05:13 +0100)]
Don't infloop in comint-redirect-results-list-from-process
* lisp/comint.el (comint-redirect-results-list-from-process):
Ensure forward progress (bug#45950).
Lucas Werkmeister [Tue, 19 Jan 2021 03:47:14 +0000 (04:47 +0100)]
Mark the various nxml flags as safa
* lisp/nxml/nxml-mode.el (nxml-char-ref-display-glyph-flag)
(nxml-sexp-element-flag, nxml-slash-auto-complete-flag)
(nxml-child-indent, nxml-attribute-indent)
(nxml-bind-meta-tab-to-complete-flag)
(nxml-prefer-utf-16-to-utf-8-flag)
(nxml-prefer-utf-16-little-to-big-endian-flag)
(nxml-default-buffer-file-coding-system)
(nxml-auto-insert-xml-declaration-flag): Add :safe to allow easier
cusomization (bug#45969).
Lars Ingebrigtsen [Tue, 19 Jan 2021 03:28:18 +0000 (04:28 +0100)]
Revert "* .gitignore: add src/fingerprint.c"
This reverts commit
2644353cbc65927a6a0a76d68e00d017771cdd03.
The src/fingerprint.c file is no longer generated, and the spelling of the obsolete function was correct.
Dmitry Gutov [Tue, 19 Jan 2021 01:05:44 +0000 (03:05 +0200)]
Make sure the new window is not too tall
* lisp/progmodes/xref.el (xref-show-definitions-buffer-at-bottom):
Make sure the new window is not too tall (bug#45945).
Stephen Gildea [Mon, 18 Jan 2021 21:27:22 +0000 (13:27 -0800)]
time-stamp-tests now pass in more locales
Update time-stamp-tests to use format-time-string to generate the date
words (month, day of week, AM/PM) instead of hard-coding English. Now
the tests pass in locales other than "C" and US English.
Expand the test coverage of modifier characters.
Eric Abrahamsen [Wed, 18 Mar 2020 03:53:05 +0000 (20:53 -0700)]
Allow gnus-retrieve-headers to return headers directly
Previously, all Gnus backends returned header information by writing
nov lines into the nntp-server-buffer, which was later parsed. This
commit allows the backends to return their header information as a
list of already-parsed headers, though so far none of the backends
actually do that. The agent, cache, cloud etc. now operate on parsed
headers rather than nov text, ie. they use gnus-fetch-headers instead
of gnus-retrieve-headers.
* lisp/gnus/gnus-sum.el (gnus-fetch-headers): Handle the case in which
gnus-retrieve-headers returns headers directly.
* lisp/gnus/nnvirtual.el (nnvirtual-retrieve-headers): Use
gnus-fetch-headers rather than gnus-retrieve-headers to get headers,
meaning we're operating on already-parsed headers.
(nnvirtual-convert-headers): Remove now-unnecessary function.
(nnvirtual-update-xref-header): Rewrite to operate on parsed header.
* lisp/gnus/gnus-cloud.el (gnus-cloud-available-chunks): Use
gnus-fetch-headers instead of gnus-retrieve-headers.
* lisp/gnus/gnus-cache.el (gnus-cache-retrieve-headers): Use
gnus-fetch-headers.
(gnus-cache-braid-nov, gnus-cache-braid-heads): Delete unnecessary
functions -- we now do this work on a list of parsed headers.
* lisp/gnus/gnus-agent.el (gnus-agent-retrieve-headers): Use
gnus-fetch-headers.
(gnus-agent-braid-nov): Remove unnecessary function.
(gnus-agent-fetch-headers): Use gnus-fetch-headers.
Basil L. Contovounesios [Sun, 17 Jan 2021 15:53:53 +0000 (15:53 +0000)]
Fix ibuffer-mark-by-file-name-regexp abbreviations
* lisp/ibuffer.el (ibuffer--abbreviate-file-name): New function.
(filename): Use it.
* lisp/ibuf-ext.el (ibuffer-mark-by-file-name-regexp): Prefer
read-regexp over read-string for reading regexps. Determine file
name using ibuffer-buffer-file-name for consistency. Abbreviate
file name using ibuffer-directory-abbrev-alist (bug#18859).
Basil L. Contovounesios [Sun, 17 Jan 2021 18:56:50 +0000 (18:56 +0000)]
Use format-prompt in read-regexp.
* lisp/replace.el (read-regexp): Use format-prompt (bug#12443).
Eric Ludlam [Mon, 18 Jan 2021 17:49:11 +0000 (12:49 -0500)]
* lisp/cedet/ede/proj.el: Enable Project files to load
(ede-proj-target-makefile): Give more precise type for its `rules` slot.
* lisp/cedet/ede/base.el (ede-target-list): Don't define.
(ede-project): Use `list-of` instead.
Eli Zaretskii [Mon, 18 Jan 2021 17:17:59 +0000 (19:17 +0200)]
Fix recent changes for Cham script
* lisp/language/cham.el ("Cham"): Fix sample-text.
* lisp/leim/quail/cham.el: Really install this new file.
Eli Zaretskii [Mon, 18 Jan 2021 17:03:46 +0000 (19:03 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Aaron Jensen [Sat, 16 Jan 2021 18:28:46 +0000 (12:28 -0600)]
* test/src/xdisp-tests.el: Fix tests to work in batch mode
(xdisp-tests--window-text-pixel-size)
(xdisp-tests--window-text-pixel-size-leading-space)
(xdisp-tests--window-text-pixel-size-trailing-space): Fix tests.
(Bug#45748)
Lars Ingebrigtsen [Mon, 18 Jan 2021 16:35:55 +0000 (17:35 +0100)]
Don't double up keys in epa--list-keys
* lisp/epa.el (epa--list-keys): Delete the list keys before
redisplaying (bug#44134).
Stephen Berman [Mon, 18 Jan 2021 16:29:41 +0000 (17:29 +0100)]
Fix problem with `epa-list-keys' bugging out
* lisp/epa.el (epa--list-keys): Partially revert
517285f7cae which
removed the wrong property (bug#44134).
Mattias Engdegård [Sun, 10 Jan 2021 16:05:18 +0000 (17:05 +0100)]
Avoid macOS NSFilenamesPboardType warning (bug#33035)
* src/nsterm.h (NS_USE_NSPasteboardTypeFileURL): New #define.
* src/nsterm.m (ns_term_init):
([EmacsView performDragOperation:]):
* src/nsselect.m (ns_string_to_symbol):
(nxatoms_of_nsselect):
NSFilenamesPboardType was deprecated in macOS 10.14; use
NSPasteboardTypeFileURL instead when available.
Philipp Stephani [Mon, 18 Jan 2021 10:38:58 +0000 (11:38 +0100)]
Replace Unix commands with Emacs in process tests.
That way, the tests only depend on Emacs, and not on utilities that
might not be available during test time.
* test/src/process-tests.el (process-tests--eval)
(process-tests--emacs-command, process-tests--emacs-binary)
(process-tests--dump-file)
(process-tests--usable-file-for-reinvoke): New helper functions.
(process-tests/sentinel-called)
(process-tests/sentinel-with-multiple-processes): Use them.
Eli Zaretskii [Sun, 17 Jan 2021 14:53:54 +0000 (16:53 +0200)]
Improve support for the Cham script and languages
* etc/NEWS: Announce the new 'cham' input method.
* etc/HELLO: Fix the order of letters in the Cham greeting.
Remove redundant newlines (reported by Ulrich Mueller
<ulm@gentoo.org>).
* lisp/language/cham.el ("Cham"): Add input-method entry.
* lisp/leim/quail/cham.el: New file.
* lisp/international/fontset.el (setup-default-fontset): Add an
entry for Cham.
Ted Zlatanov [Sun, 17 Jan 2021 13:59:59 +0000 (13:59 +0000)]
; * test/infra/gitlab-ci.yml: Merge test-template script into job-template.
Ted Zlatanov [Sun, 17 Jan 2021 13:56:27 +0000 (13:56 +0000)]
* test/infra/gitlab-ci.yml: Merge test-template into job-template.
Philipp Stephani [Sun, 17 Jan 2021 13:00:16 +0000 (14:00 +0100)]
Ensure that sentinels are called during 'accept-process-output'.
When we're trying to notify a process about a status change, we need
to ignore the SIGCHLD pipe temporarily, otherwise the code would
likely not run into the timeout case that's necessary for a status
change to happen.
* src/process.c (wait_reading_process_output): Ignore the SIGCHLD pipe
when notifying a process about a status change.
* test/src/process-tests.el (process-tests/sentinel-called)
(process-tests/sentinel-with-multiple-processes): New unit tests.
Michael Albinus [Sun, 17 Jan 2021 12:37:58 +0000 (13:37 +0100)]
Add new targets to test/Makefile
* test/Makefile.in (SUBDIRS): New variable.
(subdir_template): New template.
(top) Create new check-<dirname> targets.
* test/README: Document them.
* test/infra/gitlab-ci.yml (test-lisp-net-inotify): Rename.
Philipp Stephani [Sun, 17 Jan 2021 10:52:40 +0000 (11:52 +0100)]
Add a bit more clarification around standard error processes.
* doc/lispref/processes.texi (Asynchronous Processes): Document
how to obtain the standard error process that Emacs creates.
(Accepting Output): Add an example how to wait for standard error in
case Emacs has created a standard error process.
Stefan Monnier [Sat, 16 Jan 2021 15:51:09 +0000 (10:51 -0500)]
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Use pcase
Stefan Monnier [Sat, 16 Jan 2021 15:15:47 +0000 (10:15 -0500)]
* lisp/emacs-lisp/pcase.el: Add support for `not` to `pred`
(pcase--split-pred, pcase--funcall): Adjust for `not`.
(pcase--get-macroexpander): New function.
(pcase--edebug-match-macro, pcase--make-docstring)
(pcase--macroexpand): Use it.
* lisp/emacs-lisp/radix-tree.el (radix-tree-leaf): Use it!
* doc/lispref/control.texi (The @code{pcase} macro): Document it.
* lisp/emacs-lisp/ert.el (ert--explain-equal-rec): Remove redundant test.
Philipp Stephani [Sun, 10 Jan 2021 16:59:29 +0000 (17:59 +0100)]
Don't crash if no asynchronous process has been created yet.
* src/process.c (wait_reading_process_output): Allow
child_signal_read_fd < 0.
Philipp Stephani [Sun, 10 Jan 2021 15:31:12 +0000 (16:31 +0100)]
Fix deadlock when receiving SIGCHLD during 'pselect'.
If we receive and handle a SIGCHLD signal for a process while waiting
for that process, 'pselect' might never return. Instead, we have to
explicitly 'pselect' that the process status has changed. We do this
by writing to a pipe in the SIGCHLD handler and having
'wait_reading_process_output' select on it.
* src/process.c (child_signal_init): New helper function to create a
pipe for SIGCHLD notifications.
(child_signal_read, child_signal_notify): New helper functions to
read from/write to the child signal pipe.
(create_process): Initialize the child signal pipe on first use.
(handle_child_signal): Notify waiters that a process status has
changed.
(wait_reading_process_output): Make sure that we also catch
SIGCHLD/process status changes.
* test/src/process-tests.el
(process-tests/fd-setsize-no-crash/make-process): Remove workaround,
which is no longer needed.
Eli Zaretskii [Sat, 16 Jan 2021 18:18:32 +0000 (20:18 +0200)]
Fix Rmail summary for more than 99,999 messages
* lisp/mail/rmailsum.el (rmail-summary-font-lock-keywords): Don't
assume there will be less than 100,000 messages in an mbox file.
(Bug#45912)
Eli Zaretskii [Sat, 16 Jan 2021 18:15:17 +0000 (20:15 +0200)]
Fix two tests
* test/lisp/progmodes/elisp-mode-tests.el (xref-elisp-test-run):
Make sure file names can be compared as strings, by running them
through 'file-truename'. Reported by Vin Shelton
<acs@alumni.princeton.edu>.
* test/lisp/emacs-lisp/bytecomp-tests.el ("warn-obsolete-hook.el")
("warn-obsolete-variable.el"): Use [^z-a] to match a newline as
well. Reported by Vin Shelton <acs@alumni.princeton.edu>.
Ted Zlatanov [Sat, 16 Jan 2021 15:45:05 +0000 (15:45 +0000)]
test/infra/gitlab-ci.yml: run only for tags and some branches
Eli Zaretskii [Sat, 16 Jan 2021 14:54:01 +0000 (16:54 +0200)]
Improve support for Cham script
* lisp/language/cham.el ("Cham"): Expand the entry.
* etc/HELLO: Add entry for Cham.
Ted Zlatanov [Sat, 16 Jan 2021 13:03:58 +0000 (13:03 +0000)]
EMBA container build improvements for Emacs build testing.
* test/infra/gitlab-ci.yml: Moved from .gitlab-ci.yml. Use the
EMBA container registry with a different login token storage file
for each commit. Split test stages into prep, build, fast tests,
normal tests, platform tests, and slow (everything) and use
templates where possible.
* .gitlab-ci.yml: Include test/infra/gitlab-ci.yml and move all
content there.
Eli Zaretskii [Sat, 16 Jan 2021 13:02:48 +0000 (15:02 +0200)]
Fix last change
* src/frame.c (Fset_mouse_position, Fset_mouse_pixel_position):
Don't compile the FRAME_MSDOS_P case on platforms other than
MSDOS, as that will never happen there.
Jared Finder [Wed, 2 Dec 2020 08:05:59 +0000 (00:05 -0800)]
Make mouse-related calls be more consistent on all frame types
* src/frame.c (Fset_mouse_position, Fset_mouse_pixel_position): Call
Fselect_frame and appropriate mouse_moveto function on all non-GUI
frame types, independent of #ifdef's.
* src/term.c (init_tty): Initialize mouse_face_window for all
non-GUI frame types.
(term_mouse_moveto) [HAVE_GPM]: Make available even if
HAVE_WINDOW_SYSTEM is defined.
* src/xdisp.c (try_window_id): Call gui_clear_window_mouse_face
in all cases.
Stefan Monnier [Sat, 16 Jan 2021 04:18:08 +0000 (23:18 -0500)]
* lisp/frame.el Don't activate `blink-cursor-idle-timer` needlessly.
(blink-cursor-mode): Use `blink-cursor-check` rather than
`blink-cursor--start-idle-timer` so we check for the presence of
a frame where the cursor can be blinked before activating the idle timer.
Kévin Le Gouguec [Sun, 10 Jan 2021 09:43:41 +0000 (10:43 +0100)]
Change default-directory before prompting in project-compile
This causes command completion to work from the project root, letting
users complete top-level folders, make targets, etc (bug#45765).
* lisp/progmodes/project.el (project-compile): Simplify using
call-interactively, as done with project(-async)-shell-command.
Stefan Monnier [Sat, 16 Jan 2021 03:38:52 +0000 (22:38 -0500)]
* src/dispnew.c (sit_for): Return nil when interrupted by process output
Before
adbb4eacc2a984c0fc0b65ec761368fd9067d6c5,
`read_and_dispose_of_process_output` called
`record_asynch_buffer_change` which added "artificial" input events
(in the form of BUFFER_SWITCH_EVENTs), causing sit_for to return
Qnil when interrupted by process output. Without those BUFFER_SWITCH_EVENTs,
sit_for now tends to return Qt when interrupted by process output
making `read_char` believe that we've waited the whole timeout,
As consequence incoming process output tended to cause premature
auto-saving of files (sometimes right after almost every key press).
This patch recovers the previous behavior, which is not ideal
(incoming process output can delay auto-save indefinitely), but has
been good enough for many years.
Basil L. Contovounesios [Fri, 15 Jan 2021 21:30:14 +0000 (21:30 +0000)]
; Remove recent spurious addition in window.el
* lisp/window.el (display-buffer-use-some-window): Remove spurious
message included in 2021-01-11 "Support using auth-source for
NickServ passwords in ERC" (bug#45340#44).
Phillip Lord [Thu, 14 Jan 2021 22:51:13 +0000 (22:51 +0000)]
Remove support for 32 bit build
* admin/nt/dist-build/README-scripts: Update
* admin/nt/dist-build/README-windows-binaries: Update
* admin/nt/dist-build/build-zips.sh: Remove 32 bit and fix paths
* admin/nt/dist-build/build-dep-zips.py: Remove 32 bit and update
paths
* admin/nt/dist-build/emacs.nsi: Remove 32 bit and fix paths
Phillip Lord [Thu, 7 Jan 2021 22:06:53 +0000 (22:06 +0000)]
Update dependency capture
* admin/nt/dist-build/build-dep-zips.py: Use ntldd to directly
determine DLL dependencies
Stephen Leake [Fri, 15 Jan 2021 18:03:06 +0000 (10:03 -0800)]
* .gitignore: add src/fingerprint.c
* lisp/dired-x.el (dired-file-name-at-point): Fix spelling in obsolete
message.
Aaron Jensen [Sun, 10 Jan 2021 02:43:32 +0000 (20:43 -0600)]
Fix 'window-text-pixel-size' when there are leading/trailing spaces
First, scan to find the first non-whitespace character and then
backtrack to find the beginning of the line. The previous
algorithm always started on the non-whitespace character during
the backtrack, causing it to stop immediately and not actually
find the beginning of the line. The same applies to the end of
line calculation.
* src/xdisp.c: (Fwindow_text_pixel_size): Fix off by one error.
(Bug#45748)
* test/src/xdisp-tests.el (xdisp-tests--window-text-pixel-size)
(xdisp-tests--window-text-pixel-size-leading-space)
(xdisp-tests--window-text-pixel-size-trailing-space): New tests.
Jared Finder [Sat, 2 Jan 2021 22:10:17 +0000 (14:10 -0800)]
Make libraries works with xterm-mouse-mode.
Change calls from 'read-event' to 'read-key' in libraries expecting
mouse events. Do this only when 'xterm-mouse-mode' is enabled. That
way those libraries read decoded mouse events instead of the
underlying escape sequence. Add a parameter to 'read-key' that avoids
running any of the unbound fallbacks in 'read-key-sequence' so the
libraries can read mouse button-down events.
For backward compatibility purposes, the above logic is contained in a
new internal-only function: 'read--potential-mouse-event'.
* doc/lispref/commands.texi (Reading One Event): Document new
parameter to 'read-key'. Mention that non-character events on
terminals need 'read-key'.
* lisp/subr.el (read-key-full-map): Add new keymap used by 'read-key'.
(read-key): Add new parameter 'fallbacks-disabled' to prevent running
any of the unbound fallbacks normally run by 'read-key-sequence'.
(read--potential-mouse-event): Add new function that calls 'read-key'
or 'read-event' depending on if 'xterm-mouse-mode' is set.
* lisp/foldout.el (foldout-mouse-swallow-events):
* lisp/isearch.el (isearch-pre-command-hook):
* lisp/mouse-drag.el (mouse-drag-throw, mouse-drag-drag):
* lisp/mouse.el (mouse-drag-secondary):
* lisp/ruler-mode.el (ruler-mode-mouse-grab-any-column)
(ruler-mode-mouse-drag-any-column-iteration):
* lisp/strokes.el (strokes-read-stroke, strokes-read-complex-stroke):
* lisp/textmodes/artist.el (artist-mouse-draw-continously)
(artist-mouse-draw-poly, artist-mouse-draw-2points):
* lisp/vc/ediff-wind.el (ediff-get-window-by-clicking):
* lisp/wid-edit.el (widget-button--check-and-call-button)
(widget-button-click): Call 'read--potential-mouse-event' instead of
'read-event'.
* lisp/wid-edit.el (widget-key-sequence-read-event): Call 'read-key'
with 'fallbacks-disabled' set instead of 'read-event'. Unlike above
changes, this is unconditionally applied so it works for function
keys too. Apply 'local-function-key-map' instead of
'function-key-map' as that contains the full terminal translations.
* lisp/vc/ediff.el (ediff-windows): Use 'display-mouse-p' to check if
a mouse is available.
* src/lread.c (Fread_event): Recommend 'read-key' in docstring for
'read-event' for non-character events.
Michael Albinus [Fri, 15 Jan 2021 10:32:12 +0000 (11:32 +0100)]
Some Tramp adaptions, mainly direct async processes
* doc/misc/tramp.texi (Firewalls, Remote processes)
(Frequently Asked Questions): Add @vindex.
(Predefined connection information): Precise precondition or direct
async processes.
(Remote shell setup): Ban ssh RemoteCommand option.
(Frequently Asked Questions): Adapt quoting.
* doc/misc/trampver.texi:
* lisp/net/trampver.el: Change version to "2.5.1-pre".
* lisp/net/tramp-adb.el (tramp-methods) <adb>: Add `tramp-direct-async'
parameter.
(tramp-adb-handle-make-process): Adapt docstring.
* lisp/net/tramp-sh.el (tramp-methods) <scp, scpx, rsync, ssh, sshx>:
Add `tramp-direct-async' parameter.
(tramp-sh-handle-insert-directory): Simplify merkers.
(tramp-sh-handle-make-process): Adapt docstring.
* lisp/net/tramp.el (tramp-methods): Adapt docstring.
(tramp-debug-message): Suppress lockfiles.
(tramp-test-message): New defun.
(tramp-direct-async-process-p): Check also for `tramp-direct-async'.
(tramp-handle-make-process): Do not check for `tramp-direct-async-args'.
* test/lisp/net/tramp-tests.el (all): Replace `string-match' by
`string-match-p'.
(dired-copy-dereference): Declare.
(tramp-test-temporary-file-directory):
Remove `tramp-direct-async-args` for mock method.
(tramp-test15-copy-directory, tramp-test40-special-characters)
(tramp-test40-special-characters-with-stat)
(tramp-test40-special-characters-with-perl)
(tramp-test40-special-characters-with-ls, tramp-test41-utf8)
(tramp-test41-utf8-with-stat, tramp-test41-utf8-with-perl)
(tramp-test41-utf8-with-ls): Skip for tramp-rclone.el.
(tramp--test--deftest-direct-async-process): Do not skip for mock
method.
(tramp-test32-shell-command): Adapt test for direct async processes.
(tramp-test36-vc-registered, tramp--test-hpux-p, tramp--test-ksh-p):
Use `tramp-test-vec'.
Glenn Morris [Fri, 15 Jan 2021 09:38:20 +0000 (09:38 +0000)]
* lisp/emacs-lisp/seq.el (seq-concatenate): Unautoload (merge fix).
gitmerge-skip-regexp does not handle line breaks.
Eli Zaretskii [Fri, 15 Jan 2021 08:12:09 +0000 (10:12 +0200)]
Fix 'kill-visual-line'
* lisp/simple.el (kill-whole-line): Mention in the doc string that
this option affects 'kill-visual-line' as well.
(kill-visual-line): Improve the doc string. Delete the character
at which the line was wrapped under 'visual-line-mode'. Don't
indiscriminately delete whitespace following the wrap point.
(Bug#45837)
Stefan Monnier [Thu, 14 Jan 2021 22:37:57 +0000 (17:37 -0500)]
* lisp/startup.el (command-line): Remove redundant set of no-blinking-cursor
This is redundant because this was set based on "X" resources under
(memq window-system '(x w32 ns)) but the exact same resources and
values are tested in `x-apply-session-resources` which is also used for
those 3 window systems.
Stefan Monnier [Thu, 14 Jan 2021 22:21:56 +0000 (17:21 -0500)]
* lisp/startup.el (command-line): Remove redundant set of no-blinking-cursor
This was set when (or noninteractive emacs-basic-display), but
the code that sets `emacs-basic-display` also sets `no-blinking-cursor`
and `blink-cursor-mode`s value already tests `noninteractive`
alongside `no-blinking-cursor`.
Stefan Monnier [Thu, 14 Jan 2021 21:45:40 +0000 (16:45 -0500)]
Fix marking "delayed-initialization" vars as dynamically scoped
We used to mark those vars as dynbound in `custom-reevaluate-setting`
which forced us to bind `current-load-list` around it to avoid having
the vars be associated with the wrong file. Move this marking to
`custom-initialize-delay` so we don't need this workaround.
* lisp/custom.el (custom-initialize-delay): Mark the var as dynamic.
(custom-reevaluate-setting): Don't use `defvar` here.
* lisp/startup.el (command-line): Don't let-bind `current-load-list`
around calls to `custom-reevaluate-setting`.
Juri Linkov [Thu, 14 Jan 2021 19:08:46 +0000 (21:08 +0200)]
* lisp/info.el (Info-search): Don't deactivate mark when landed in same node
(bug#45839)
Glenn Morris [Thu, 14 Jan 2021 15:50:28 +0000 (07:50 -0800)]
Merge from origin/emacs-27
488204cdc6 (origin/emacs-27) Remove one of recently added warnings ab...
55bc1560ac Fix assertion failure in window_box_height (Bug#45737)
27743e9e70 Fix cl-concatenate inlining
32a3758c84 Fix infloop in 'pixel-scroll-mode'
74d18957b8 Fix inhibiting the default.el loading in user init file
Glenn Morris [Thu, 14 Jan 2021 15:50:28 +0000 (07:50 -0800)]
; Merge from origin/emacs-27
The following commit was skipped:
5d76288660 Fix problem with 8bit content-transfer-encoding in nndoc m...
Glenn Morris [Thu, 14 Jan 2021 15:50:25 +0000 (07:50 -0800)]
Merge from origin/emacs-27
149d64bbb2 * doc/misc/tramp.texi (Quick Start Guide): Fix thinko.
97747e6fb9 Tell people how to remove fontconfig customizations
33d0c603c6 ; * doc/lispref/modes.texi (SMIE Indentation Example): Fix...
03080b5545 Remove extraneous closing paren
Ted Zlatanov [Thu, 14 Jan 2021 10:34:09 +0000 (10:34 +0000)]
EMBA infrastructure improvements for Emacs build testing.
* .gitlab-ci.yml: Use job templates and rules. Split tests into
fast/normal/slow. Make Docker images for each tested platform
(inotify, filenotify-gio, gnustep). Increase timeout.
* test/Makefile.in (check-lisp, check-net): Add new testing
targets.
* test/README: Document them.
* test/file-organization.org: Mention test/infra.
* test/infra/Dockerfile.emba: Add special Docker recipes for EMBA
testing.
Juri Linkov [Wed, 13 Jan 2021 18:32:36 +0000 (20:32 +0200)]
Remove one of recently added warnings abound binding keys in Isearch maps
* lisp/isearch.el (minibuffer-local-isearch-map): Remove comments
which warn against wantonly rebinding unbound keys from
irrelevant keymap.
https://lists.gnu.org/archive/html/emacs-devel/2021-01/msg00259.html
Juri Linkov [Wed, 13 Jan 2021 18:19:22 +0000 (20:19 +0200)]
* lisp/isearch.el: C-s C-u M-y reads a string from the kill-ring minibuffer
* lisp/isearch.el (isearch-yank-from-kill-ring): New command
with code moved from isearch-yank-pop.
(isearch-yank-pop): Use isearch-yank-from-kill-ring.
(isearch-yank-pop-only): Add optional arg, and call
isearch-yank-from-kill-ring when the prefix arg is C-u.
https://lists.gnu.org/archive/html/emacs-devel/2021-01/msg00089.html
Stefan Kangas [Wed, 13 Jan 2021 17:54:09 +0000 (18:54 +0100)]
Lift {global,local}-key-binding to Lisp
* lisp/subr.el (local-key-binding, global-key-binding): New defuns.
* src/keymap.c (Flocal_key_binding, Fglobal_key_binding): Remove DEFUNs.
(syms_of_keymap): Remove defsubrs for above DEFUNs.
* test/lisp/subr-tests.el (subr-test-local-key-binding)
(subr-test-global-key-binding): New tests.
Stefan Kangas [Wed, 13 Jan 2021 16:39:53 +0000 (17:39 +0100)]
Prefer skip-unless in more tests
* test/lisp/emacs-lisp/timer-tests.el (timer-tests-debug-timer-check):
* test/src/decompress-tests.el (zlib--decompress):
* test/src/xml-tests.el (libxml-tests): Prefer skip-unless.
Eli Zaretskii [Wed, 13 Jan 2021 14:45:31 +0000 (16:45 +0200)]
Fix 'visual-line-mode' when 'word-wrap-by-category' is in effect
* src/xdisp.c (move_it_in_display_line_to): Don't reset
next_may_wrap after saving a potential wrap point. This fixes the
case where several characters in a row can serve as a wrap point.
(Bug#45837)
Stefan Kangas [Wed, 13 Jan 2021 14:23:31 +0000 (15:23 +0100)]
Use skip-unless instead of if+message in test
* test/lisp/cedet/semantic-utest.el (semantic-utest-Javascript):
Use skip-unless instead of if+message.
Stefan Kangas [Wed, 13 Jan 2021 14:17:44 +0000 (15:17 +0100)]
Remove some XEmacs compat code from tests
* test/lisp/cedet/srecode-utest-getset.el
(srecode-utest-getset-output):
* test/lisp/cedet/srecode-utest-template.el
(srecode-utest-template-output): Remove XEmacs compat code.
Stefan Kangas [Wed, 13 Jan 2021 14:12:08 +0000 (15:12 +0100)]
* lisp/calc/calc.el: Remove some XEmacs compat code.
Mattias Engdegård [Wed, 13 Jan 2021 13:16:57 +0000 (14:16 +0100)]
Stabilise lunar-phase-list test (bug#45818)
The test reference data was produced with accidental interference from
the system daylight saving in effect at the time. Prevent that
from occurring again and correct the data.
* test/lisp/calendar/lunar-tests.el (with-lunar-test):
Switch to UTC and make sure daylight saving adjustment is disabled.
Use normal time presentation for maintainability.
* test/lisp/calendar/lunar-tests.el (lunar-test-phase): Adjust to UTC.
(lunar-test-phase-list): Adjust to UTC with correct times.
Enable the test by removing its :unstable mark.